package 贪心;

public class q45跳跃游戏2 {
    class Solution {
        public int jump(int[] nums) {
            //这里需要统计两个覆盖范围，当前这一步的最大覆盖和下一步最大覆盖。
            int curMax = 0;
            int nextMax = 0;
            int step = 0;
            for(int i = 0; i < nums.length - 1; i++){
                nextMax = Math.max(nextMax, i + nums[i]);
                if(nextMax >= nums.length - 1) return step + 1;
                if(i == curMax){
                    curMax = nextMax;
                    step++;
                }
            }
            return step;
        }
    }
}
